﻿package net.molchat.android.scrn;


// FIXME Commented out class
public class PicAni {

}


//import javax.microedition.lcdui.Graphics;
//import javax.microedition.lcdui.Image;
//import javax.microedition.lcdui.game.Sprite;
//
//import net.molchat.android.core.*;
//import net.molchat.android.media.*;
//
//
//// ============================================ Отрисовка анимированных рисунков
//public final class PicAni {
//
//// =================================================================== Константы
//public static final int MAX_ANIMATED = 10; // максимальное кол-во анимированных смайлов
//
//
//// ================================================================== Переменные
//private final Pic[] pics = new Pic[Setting.MAX_ANI]; // Набор анимируемых рисунков
//private final int posX[] = new int[Setting.MAX_ANI]; // Позиции рисунков
//private final int posY[] = new int[Setting.MAX_ANI];
//private final boolean fSel[] = new boolean[Setting.MAX_ANI]; // Флаг "Смайл селектирован"
//
//private int picClipX; // Поле отрисовки смайлов
//private int picClipY;
//private int picClipW;
//private int picClipH;
//
//private int picP; // Указатель на следующий свободный слот
//private int picTot; // Количество анимируемых смайлов
//
//private int colSel = 0xffffff; // Цвет селектора
//
//private int frame = 0; // Текущий кадр
//
//private Image bg; // Картинка фона
//
//
//// =============================================================== Инициализация
//
//public PicAni() {
//
//	Log.v("SmlMan.init", "=====");
//}
//
//
//// ============================================= Добавить анимированную картинку
//public void addPic(Pic pic, int posX, int posY, boolean fSel) {
//
//	this.pics[picP] = pic;
//	this.posX[picP] = posX;
//	this.posY[picP] = posY; // Запоминаем левый верхний угол
//	this.fSel[picP] = fSel;
//
//	if (++picP >= Setting.MAX_ANI) {
//		picP = 0;
//	}
//	if (++picTot >= Setting.MAX_ANI) {
//		picTot = Setting.MAX_ANI;
//	}
//
//}
//
//
//// ============================================================== Очистка списка
//public void reset(int colSel, int picClipX, int picClipY, int picClipW,
//		int picClipH, Image bg) {
//
//	this.picTot = 0;
//	this.picP = 0;
//
//	this.colSel = colSel;
//
//	this.picClipX = picClipX;
//	this.picClipY = picClipY;
//	this.picClipW = picClipW;
//	this.picClipH = picClipH;
//
//	this.bg = bg;
//}
//
//
//// =========================================================== Отрисовать смайлы
//public boolean drawAll() {
//
//	boolean fFlush;
//
//	if (picTot > 0) {
//		synchronized (Man.main) {
//			Draw.g.setClip(picClipX, picClipY, picClipW, picClipH);
//
//			int q;
//			Pic pic;
//
//			++frame;
//			for (q = 0; q < picTot; ++q) {
//				pic = pics[q];
//				pic.nextFrame(frame);
//
//				if (fSel[q]) {
//					Draw.g.setColor(colSel);
//					Draw.g.fillRect(posX[q], posY[q], pic.w, pic.h);
//				} else { // TODO Очевидно, придется всегда отрисовывать фон
//					Draw.g
//							.drawRegion(bg, posX[q], posY[q], pic.w, pic.h,
//									Sprite.TRANS_NONE, posX[q], posY[q], Graphics.TOP
//											| Graphics.LEFT);
//				}
//				Draw.g.drawRegion(pic.img, 0, pic.drawY, pic.w, pic.h,
//						Sprite.TRANS_NONE, posX[q], posY[q], Graphics.TOP | Graphics.LEFT);
//			}
//
//		}
//
//		fFlush = true;
//	} else {
//		fFlush = false;
//	}
//
//	return fFlush;
//
//}
//
//
//// ===================================================================== disArea
///**
// * Disables screen area from animation by removing pictures in that area.
// * 
// */
//public void disArea(int boxX, int boxY, int boxW, int boxH) {
//
//	int boxXMax = boxX + boxW;
//	int boxYMax = boxY + boxH;
//
//	if (picTot > 0) {
//		synchronized (Man.main) {
//			for (int q = 0; q < picTot; ++q) {
//
//				int min = boxX < posX[q] ? boxX : posX[q];
//				int max = boxXMax > (posX[q] + pics[q].w) ? boxXMax
//						: (posX[q] + pics[q].w);
//
//				if (max - min <= boxW + pics[q].w) { // Have intersection by X projection
//
//					min = boxY < posY[q] ? boxY : posY[q];
//					max = boxYMax > (posY[q] + pics[q].h) ? boxYMax
//							: (posY[q] + pics[q].h);
//
//					if (max - min <= boxH + pics[q].h) { // Have intersection by Y projection too
//						delPic(q);
//					}
//
//				}
//			}
//		}
//	}
//}
//
//
////======================================================================= delPic
//private void delPic(int q) {
//
//	if (picTot > 0) {
//		// Move last smile to removed position
//		picTot--;
//		picP = picTot;
//
//		this.pics[q] = this.pics[picP];
//		this.posX[q] = this.posX[picP];
//		this.posY[q] = this.posY[picP];
//		this.fSel[q] = this.fSel[picP];
//	}
//}
//
//
//}
